#pragma once
#include "controller.h"
#include "PlayerProjectileControlLogic.h"
#include "Launcher.h"
#include "ControlContext.h"
#include "ControlStatus.h"

class PlayerProjectileControlLogic;

class PlayerProjectileController :
	public Controller
{
	PlayerProjectileControlLogic* playerProjectileControlLogic;
	std::queue<Projectile> projectileQueue;


public:
	PlayerProjectileController(PlayerProjectileControlLogic* controlLogic);
	bool apply(EntityControl* entity, const ControlContext& context);



	Ogre::String getType();

	~PlayerProjectileController(void);
	bool isSpawningNeeded();
	Projectile getNextSpawnItem();
};

